﻿<catel:PhoneApplicationPage x:Class="Catel.Examples.WP7.ShoppingList.Views.ShoppingListPage"
                            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                            xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
                            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
                            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
                            xmlns:Preview="clr-namespace:Phone7.Fx.Mango;assembly=Phone7.Fx.Mango"
                            xmlns:Converters="clr-namespace:Catel.Windows.Data.Converters;assembly=Catel.MVVM"
                            xmlns:catel="clr-namespace:Catel.Phone.Controls;assembly=Catel.MVVM"
                            FontFamily="{StaticResource PhoneFontFamilyNormal}"
                            FontSize="{StaticResource PhoneFontSizeNormal}"
                            Foreground="{StaticResource PhoneForegroundBrush}"
                            SupportedOrientations="Portrait" Orientation="Portrait"
                            mc:Ignorable="d" d:DesignHeight="768" d:DesignWidth="480"
                            shell:SystemTray.IsVisible="True">

    <!--LayoutRoot is the root grid where all page content is placed-->
    <Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.Resources>
            <Converters:BooleanToCollapsingVisibilityConverter x:Key="BooleanToCollapsingVisibilityConverter" />
        </Grid.Resources>

        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>

        <!--TitlePanel contains the name of the application and page title-->
        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
            <TextBlock x:Name="ApplicationTitle" Text="Shopping list" Style="{StaticResource PhoneTextNormalStyle}"/>
            <TextBlock x:Name="PageTitle" Text="{Binding Title}" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
        </StackPanel>

        <!--ContentPanel - place additional content here-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>

            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>

            <!-- Name -->
            <TextBox Grid.Row="0" Text="{Binding Name, Mode=TwoWay}" />

            <!-- Items -->
            <ListBox Grid.Row="1" ItemsSource="{Binding ShoppingListItems}" SelectedItem="{Binding SelectedShoppingListItem, Mode=TwoWay}">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto" />
                                <ColumnDefinition Width="*" MinWidth="300" />
                                <ColumnDefinition Width="Auto" />
                            </Grid.ColumnDefinitions>

                            <CheckBox Grid.Column="0" IsChecked="{Binding Checked, Mode=TwoWay}" />
                            <TextBlock Grid.Column="1" Text="{Binding Name}" VerticalAlignment="Center" />
                            <Rectangle Grid.Column="1" Fill="White" Height="3" VerticalAlignment="Center" Margin="4"
                                   Visibility="{Binding Checked, Converter={StaticResource BooleanToCollapsingVisibilityConverter}}" />
                            <TextBlock Grid.Column="2" Text="{Binding Quantity}" VerticalAlignment="Center" HorizontalAlignment="Right" />
                        </Grid>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
        </Grid>

        <!-- Application bar -->
        <Preview:BindableApplicationBar Grid.Row="2" IsVisible="True" IsMenuEnabled="False">
            <Preview:BindableApplicationBarIconButton Command="{Binding Add}" IconUri="/Resources/Images/add.png" Text="Add" />
            <Preview:BindableApplicationBarIconButton Command="{Binding Edit}" IconUri="/Resources/Images/edit.png" Text="Edit" />
            <Preview:BindableApplicationBarIconButton Command="{Binding Delete}" IconUri="/Resources/Images/delete.png" Text="Delete" />
        </Preview:BindableApplicationBar>
    </Grid>

    <!--Sample code showing usage of ApplicationBar-->
    <!--<phone:PhoneApplicationPage.ApplicationBar>
        <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/>
            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/>
            <shell:ApplicationBar.MenuItems>
                <shell:ApplicationBarMenuItem Text="MenuItem 1"/>
                <shell:ApplicationBarMenuItem Text="MenuItem 2"/>
            </shell:ApplicationBar.MenuItems>
        </shell:ApplicationBar>
    </phone:PhoneApplicationPage.ApplicationBar>-->

</catel:PhoneApplicationPage>
